package com.jinmdz.fmis.api.api.model.funeral.negotiation;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.constant.EDictCode;
import com.jinmdz.fmis.dao.base.BaseItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 洽谈守灵信息
 *
 * @author LiCongLu
 * @date 2020-02-16 15:57
 */
@ApiModel(value = "", description = "")
public class NegotiationWakeMournItem extends BaseItem {

    /**
     * 业务编码
     */
    @ApiModelProperty(value = "业务编码", name = "businessCode", position = 1)
    private String businessCode;

    /**
     * 礼厅类型编码
     */
    @ApiModelProperty(value = "礼厅类型编码", name = "hallTypeCode", position = 2)
    @JsonIgnore
    private Integer hallTypeCode;

    /**
     * 礼厅类型编码
     */
    @ApiModelProperty(value = "礼厅类型编码", name = "hallType", position = 3)
    @AnDict(dict = EDictCode.HALL_TYPE, ref = "hallTypeCode")
    private String hallType;

    /**
     * 礼厅设备名横
     */
    @ApiModelProperty(value = "礼厅设备名横", name = "hallCode", position = 4)
    private String hallCode;

    /**
     * 预约入厅时间
     */
    @ApiModelProperty(value = "预约入厅时间", name = "appointmentInTime", position = 5)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date appointmentInTime;

    /**
     * 预约出厅时间
     */
    @ApiModelProperty(value = "预约出厅时间", name = "appointmentOutTime", position = 6)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date appointmentOutTime;

    /**
     * 流程状态
     */
    @ApiModelProperty(value = "流程状态", name = "processStateCode", position = 7)
    private Integer processStateCode;

    /**
     * 流程状态
     */
    @ApiModelProperty(value = "流程状态", name = "processState", position = 8)
    @AnDict(dict = EDictCode.HALL_STATUS, ref = "processStateCode")
    private String processState;

    /**
     * 业务类型
     */
    @ApiModelProperty(value = "业务类型", name = "businessType", position = 9)
    private String businessType;

    /**
     * 业务费用与物品服务
     */
    @ApiModelProperty(value = "业务费用与物品服务", name = "charges", position = 10)
    private NegotiationBusinessCharges charges;

    public String getBusinessCode() {
        return businessCode;
    }

    public NegotiationWakeMournItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public Integer getHallTypeCode() {
        return hallTypeCode;
    }

    public NegotiationWakeMournItem setHallTypeCode(Integer hallTypeCode) {
        this.hallTypeCode = hallTypeCode;
        return this;
    }

    public String getHallType() {
        return hallType;
    }

    public NegotiationWakeMournItem setHallType(String hallType) {
        this.hallType = hallType;
        return this;
    }

    public String getHallCode() {
        return hallCode;
    }

    public NegotiationWakeMournItem setHallCode(String hallCode) {
        this.hallCode = hallCode;
        return this;
    }

    public Date getAppointmentInTime() {
        return appointmentInTime;
    }

    public NegotiationWakeMournItem setAppointmentInTime(Date appointmentInTime) {
        this.appointmentInTime = appointmentInTime;
        return this;
    }

    public Date getAppointmentOutTime() {
        return appointmentOutTime;
    }

    public NegotiationWakeMournItem setAppointmentOutTime(Date appointmentOutTime) {
        this.appointmentOutTime = appointmentOutTime;
        return this;
    }

    public Integer getProcessStateCode() {
        return processStateCode;
    }

    public NegotiationWakeMournItem setProcessStateCode(Integer processStateCode) {
        this.processStateCode = processStateCode;
        return this;
    }

    public String getProcessState() {
        return processState;
    }

    public NegotiationWakeMournItem setProcessState(String processState) {
        this.processState = processState;
        return this;
    }

    public String getBusinessType() {
        return businessType;
    }

    public NegotiationWakeMournItem setBusinessType(String businessType) {
        this.businessType = businessType;
        return this;
    }

    public NegotiationBusinessCharges getCharges() {
        return charges;
    }

    public NegotiationWakeMournItem setCharges(NegotiationBusinessCharges charges) {
        this.charges = charges;
        return this;
    }
}
